home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Softdisk G-S 98
/
SGDS 98.2mg
/
SDGS.98
/
SDC98
/
C
/
CROSSWORD.PRG
(
.txt
)
< prev
next >
Encoding:
Amiga
Atari
Commodore
DOS
FM Towns/JPY
Macintosh
Macintosh JP
NeXTSTEP
RISC OS
UTF-8
Wrap
Applesoft BASIC Source Code
|
1989-10-13
|
3.4 KB
|
175 lines
|
[FC] Applesoft BASIC Program (0x0801)
100 REM HIRES ROOT. PGM SITS FROM $D00 TO $4000
110 PRINT "<CTRL-0x15>": IF PEEK(176) >23 THEN :::: STOP
120 HGR2 : CALL 2304: POKE 48688, PEEK(0): POKE 48689, PEEK(1):::::::
130 Q8 = PEEK(184):Q9 = PEEK(185): CALL Q8 +(Q9 -(Q8 >244)) *256 +39: REM ->8 <CTRL-0x1f><UNKNOWN TOKEN> GOSUB <CTRL-0x02> HGR2 <CTRL-0x01>` IF ^ TAB( IF ) TAB( <CTRL-0x09> PLOT ) TAB( `<-
140 POKE 104,13: GOTO 0<CTRL-0x0a> THEN 2010
2000 Q8 = PEEK(184):Q9 = PEEK(185): CALL Q8 +(Q9 -(Q8 >244) IF 0 GET PLOT ^<CTRL-0x09> IF 1 GET PLOT AND <CTRL-0x09> SPEED= 3 DEL
389 SPEED=
20653 TAB( IF R TAB( IF W TAB( ONERR ASC -@ = <CTRL-0x04> IF U TAB( ` IF T TAB( SPEED= DEL ASC`) PLOT HGR2 <CTRL-0x09> J<UNKNOWN TOKEN> ONERR
18433 ONERR STR$) END DEL <UNKNOWN TOKEN> IF HGR2 <CTRL-0x09> - HGR2 r ONERR %<CTRL-0x0a> LET CLEAR ><CTRL-0x09> DEL
2511 <CTRL-0x05> ASC DEL <CTRL-0x01><CTRL-0x18> ONERR e$e
169 PLOT HGR <CTRL-0x09><CTRL-0x0e> HGR2 <CTRL-0x09>. HGR <CTRL-0x09><CTRL-0x0e> HGR2 <CTRL-0x09>. HGR <CTRL-0x09><CTRL-0x0e> HGR2 <CTRL-0x09>. HGR <CTRL-0x09> ONERR 0)<CTRL-0x0f>i<CTRL-0x09>m HGR <CTRL-0x09> PLOT HGR <CTRL-0x09> VTAB
59581 <CTRL-0x0b>H ONERR 2 -? = <CTRL-0x04>hIHh PLOT OR <CTRL-0x09> LOMEM: <UNKNOWN TOKEN> TAB( <CTRL-0x02> = <CTRL-0x07> COLOR=
52813 <CTRL-0x09> COLOR=
145 <CTRL-0x18> SPEED= <CTRL-0x04>e<CTRL-0x01> DEL <CTRL-0x01> LEFT$ TAN<CTRL-0x08> = >h DEL <CTRL-0x01>h DEL
2559 END L<UNKNOWN TOKEN><UNKNOWN TOKEN> END
384
2 <CTRL-0x03> END <CTRL-0x03>(
296 STORE <CTRL-0x01>(<CTRL-0x02> STORE <CTRL-0x02>(<CTRL-0x03> STORE <CTRL-0x03>P
336 = <CTRL-0x01>P<CTRL-0x02> = <CTRL-0x02>P<CTRL-0x03> = <CTRL-0x03><CTRL-0x0c><CTRL-0x0c><CTRL-0x0c><CTRL-0x0c><CTRL-0x0c>
13878 6
16191 <CTRL-0x12>??<CTRL-0x12>
7695 <<CTRL-0x1f><CTRL-0x0c>
3096 <CTRL-0x06>33
7683 <CTRL-0x03>><CTRL-0x0c>
12
1542 <CTRL-0x06><CTRL-0x0c><CTRL-0x18>
6168 <CTRL-0x18><CTRL-0x0c><CTRL-0x06>
16140 <CTRL-0x0c><CTRL-0x1e>
16140 ?<CTRL-0x0c><CTRL-0x0c>
12
62 <CTRL-0x1c><CTRL-0x1c><CTRL-0x1c>
3096 <CTRL-0x06><CTRL-0x03><CTRL-0x01>
13115 73<CTRL-0x1e>
3084 <CTRL-0x0c><CTRL-0x0c><CTRL-0x1e>
7216 <CTRL-0x06><CTRL-0x03>?
7216 03<CTRL-0x1e>
6942 ?<CTRL-0x18><CTRL-0x18>
12319 03<CTRL-0x1e>
7939 33<CTRL-0x1e>
3096 <CTRL-0x0c><CTRL-0x0c><CTRL-0x0c>
7731 33<CTRL-0x1e>
15923 03<CTRL-0x1e><CTRL-0x0c><CTRL-0x0c>
0
7168 <CTRL-0x18><CTRL-0x0c><CTRL-0x18><CTRL-0x0c><CTRL-0x06><CTRL-0x03><CTRL-0x06><CTRL-0x0c><CTRL-0x18>
30 <CTRL-0x1e><CTRL-0x1e>
6156 0<CTRL-0x18><CTRL-0x0c><CTRL-0x06>
7216 <CTRL-0x0c>
13086 ;;<CTRL-0x03>3<CTRL-0x1e>
16179 333
7987 33<CTRL-0x1f>
771 <CTRL-0x03>3<CTRL-0x1e>
13107 33<CTRL-0x1f>
3843 <CTRL-0x03><CTRL-0x03>?
3843 <CTRL-0x03><CTRL-0x03><CTRL-0x03>
15107 33<CTRL-0x1e>
16179 333
3084 <CTRL-0x0c><CTRL-0x0c><CTRL-0x1e>
12336 03<CTRL-0x1e>
7987 333
771 <CTRL-0x03><CTRL-0x03>?
13119 333
13107 333
13107 33<CTRL-0x1e>
7987 <CTRL-0x03><CTRL-0x03><CTRL-0x03>
13107 ;<CTRL-0x1b>.
7987 333
7683 00<CTRL-0x1f>
3084 <CTRL-0x0c><CTRL-0x0c><CTRL-0x0c>
13107 33<CTRL-0x1e>
13107 3<CTRL-0x1e><CTRL-0x0c>
13107 ?3!
3102 <CTRL-0x1e>33
7731 <CTRL-0x0c><CTRL-0x0c><CTRL-0x0c>
7704 <CTRL-0x06><CTRL-0x03>?
1542 <CTRL-0x06><CTRL-0x06><CTRL-0x1e>
3078 <CTRL-0x18>00
6168 <CTRL-0x18><CTRL-0x18><CTRL-0x1e>
51
3100 <CTRL-0x18>
13118 >
13087 33<CTRL-0x1f><CTRL-0x1e>3<CTRL-0x03>3<CTRL-0x1e>
13118 33><CTRL-0x1e>3?<CTRL-0x03>>
7942 <CTRL-0x06><CTRL-0x06><CTRL-0x06>>33>0<CTRL-0x1e><CTRL-0x03><CTRL-0x03><CTRL-0x1f>3333
3086 <CTRL-0x0c><CTRL-0x0c><CTRL-0x1e>
6172 <CTRL-0x18><CTRL-0x18><CTRL-0x18><CTRL-0x0e><CTRL-0x03><CTRL-0x03>33<CTRL-0x1f>33
3084 <CTRL-0x0c><CTRL-0x0c><CTRL-0x1e>!3?33<CTRL-0x1f>3333<CTRL-0x1e>333<CTRL-0x1e><CTRL-0x1f>33<CTRL-0x1f><CTRL-0x03><CTRL-0x03>
13107 >00
819 <CTRL-0x03><CTRL-0x03>><CTRL-0x03><CTRL-0x1e>0<CTRL-0x1f>
1567 <CTRL-0x06><CTRL-0x06><3333>333<CTRL-0x1e><CTRL-0x0c>33?3!3<CTRL-0x1e><CTRL-0x0c><CTRL-0x1e>3333>0<CTRL-0x1e>
3096 <CTRL-0x06>?
1548 <CTRL-0x0c><CTRL-0x0c><CTRL-0x18>
3084 <CTRL-0x0c><CTRL-0x0c><CTRL-0x0c>
6156 <CTRL-0x0c><CTRL-0x0c><CTRL-0x06>
9
16191 ???
13
16709 L PROGRAM
5 REM ACTUAL PROGRAM START
100 REM CROSSWORD MACHINE
110 REM (C) SOFTDISK 1988
120 REM
130 REM SET HIMEM BELOW OBJECT
140 CLEAR
150 REM
160 HIMEM: 7168
170 REM
180 GOSUB 370
190 N = 1
200 VTAB 15: HTAB 10: PRINT "Loading, please wait..."
210 SE$(1) = " Solve this puzzle "
220 SE$(2) = " Save a puzzle in progress ":SE$(3) = " Load a puzzle in progress "
230 SE$(4) = " Start over from scratch "
240 SE$(5) = " Return to Softdisk "
250 PRINT CHR$(4);"BLOADCROSSWORD.OBJ"
260 PRINT CHR$(4);"BLOADCROSSWORD.PUZ"
270 PRINT CHR$(4);"BLOADCROSSWORD.ANS"
280 CALL 29440: REM $7300
290 GOTO 530
300 ONERR GOTO 330
310 GOSUB 810: IF GS = 1 THEN POKE 49247,0: REM OFF MONOCHROME
320 PRINT : PRINT CHR$(4)"BYE"
330 POKE 216,0
340 TEXT : HOME : VTAB 14: PRINT "SOMETHING WENT WRONG"
350 PRINT "TRY TO START 'SOFTDISK' OVER."
360 END
370 HOME : HGR : POKE 49234,0: COLOR= 0: INVERSE : PRINT CHR$(21) SPC( 240) SPC( 200)
380 VTAB 19: PRINT SPC( 160)
390 NORMAL : FOR V = 2 TO 10: HTAB 2: VTAB V: PRINT SPC( 38): NEXT
400 VTAB 3: HTAB 12: PRINT "Softdisk presents:"
410 HTAB 12: VTAB 5: PRINT "Crossword Machine"
420 HTAB 19: VTAB 7: PRINT "by"
430 HTAB 14: VTAB 9: PRINT "John Besnard"
440 HTAB 6: VTAB 11: INVERSE : PRINT "Copyright 1989 Softdisk, Inc."
450 HTAB 6: VTAB 20: PRINT " All rights reserved."
460 VTAB 21: PRINT " Changing this notice is illegal.";: NORMAL
470 RETURN
480 REM
490 REM USER MENU
500 REM ---------
510 REM
520 REM
530 GOSUB 370: FOR I = 12 TO 23: VTAB I: PRINT " ";: NEXT
540 VTAB 21: HTAB 1: INVERSE : PRINT SPC( 120)
550 VTAB 22: HTAB 2: PRINT " Arrows move highlight-Return selects ": NORMAL
560 FOR I = 1 TO 5: VTAB 13 +I: HTAB 7: PRINT SE$(I): NEXT
570 POKE 32,0: POKE 33,40
580 VTAB 12: HTAB 1: PRINT " "
590 VTAB 13 +N: HTAB 7: INVERSE : PRINT SE$(N): NORMAL
600 IF PEEK(49152) <128 THEN 600
610 VTAB 13 +N: HTAB 7: PRINT SE$(N)
620 GET KEY$: IF KEY$ = CHR$(21) OR KEY$ = CHR$(10) THEN N = N +1: IF N >5 THEN N = 1
630 IF KEY$ = CHR$(8) OR KEY$ = CHR$(11) THEN N = N -1: IF N <1 THEN N = 5
635 IF KEY$ = CHR$(27) THEN N = 5
640 IF KEY$ < > CHR$(13) THEN 590
650 ONERR GOTO 780
660 ON N GOTO 670,710,690,730,300
670 CALL 29443: REM $7303
680 GOTO 480
690 HTAB 6: VTAB 12: PRINT "Loading user puzzle..."
700 PRINT CHR$(4);"BLOADCROSSWORD.USR": GOTO 570
710 HTAB 6: VTAB 12: PRINT "Saving user puzzle..."
720 PRINT CHR$(4);"BSAVECROSSWORD.USR,A$4000,L$100": GOTO 570
730 HTAB 6: VTAB 12: PRINT "Loading blank puzzle..."
740 PRINT CHR$(4);"BLOADCROSSWORD.PUZ": GOTO 570
750 REM
760 REM ERROR WITH DISK STUFF
770 REM
780 POKE 216,0
790 HTAB 2: VTAB 20: PRINT "Oops, let's try that again": GOTO 600
800 REM <CTRL-0x0a><CTRL-0x0a>ID CHECK RETURNS PEEK(768)=50 ("2") OR =71 ("G") FOR GS
810 POKE 768,0: POKE 769,56: POKE 770,32: POKE 771,31: POKE 772,254: POKE 773,176: POKE 774,6: POKE 775,169: POKE 776,71
820 POKE 777,141: POKE 778,0: POKE 779,3: POKE 780,96: POKE 781,169: POKE 782,50: POKE 783,141: POKE 784,0: POKE 785,3: POKE 786,96
830 CALL 769
840 IF PEEK(768) = ASC("G") THEN GS = 1
850 RETURN